プロジェクトにpackage.json
が置かれてる所から始めます。無い場合はyarn init -y
で作りましょう。
JavaScript で始める場合必須モジュールは以下の5つです。
以下でインストールします。
yarn add -DE @storybook/react @babel/core babel-loader && \
yarn add -E react react-dom
次に設定ファイルで「どのファイルを Story 対象にするか」を指定します。設定ファイルはデフォルトで.storybook/main.js
になります。src/
以下にある全ての.stories.js
(この設定は.stories.ts
も行ける)を対象にする場合以下のように設定します。
module.exports = {
stories: ['../src/**/*.stories.[tj]s']
};
最初..
で1つ戻っているのは設定ファイルから見てだからです。では早速その.stories.js
ファイルを作成しましょう。
ここではbutton.stories.js
を以下のようになるように作りました。
.
├── .storybook
│ └── main.js
└── src
└── components
└── button
└── button.stories.js
button.stories.js
の中身は、
import React from 'react';
import {Button} from '@storybook/react/demo';
export default {title: 'Button'};
export const withText = () => ;
export const withEmoji = () => (
);
にします。
default
ではこのファイルで作った各 Story を Button
というグループ名でエクスポートしてます。それ以外にエクスポートしているものが Story でただの JSX で書いてます。
準備は整ったのであとはサーバーを建てて見てみましょう。bin
を直接でもいいですがここではrun-script
を追加して、そのコマンドから建てることにします。
以下のコマンドを叩くとyarn storybook
でサーバーを建てれます。npe
は CLI で簡単にpackage.json
を編集したり取得できる優れた CLI ツールです。
npx npe scripts.storybook start-storybook
では以下を叩くと、
yarn storybook
ランダムなポートでサーバーが立ち上がります。
╭─────────────────────────────────────────────────────╮
│ │
│ Storybook 5.3.3 started │
│ 18 s for manager and 17 s for preview │
│ │
│ Local: http://localhost:52871/ │
│ On your network: http://192.168.1.153:52871/ │
│ │
╰─────────────────────────────────────────────────────╯
この場合だとhttp://localhost:52871/
が見れる URL です。アクセスしてみてButton
の各 Story が見れるか確認しましょう。
上記の内容と同じことをしたリポジトリを置いておきます。